﻿using System.Collections.Generic;
using System.Collections;

namespace FluentNHibernate.Testing.DomainModel.Access;

class ParentModel
{

    public virtual int Id { get; private set; }

    public long Version { get; private set; }
    public virtual string Property { get; private set; }
    public virtual string JoinedProperty { get; private set; }
    public virtual ComponentModel Component { get; private set; }
    public virtual OneToOneModel One { get; private set; }
    public virtual object Any { get; private set; }
    public virtual IDictionary Dynamic { get; private set; }

    public virtual IDictionary<char, ManyToOneModel> MapOne { get; private set; }
    public virtual ISet<ManyToOneModel> SetOne { get; private set; }
    public virtual IList<ManyToOneModel> ListOne { get; private set; }
    public virtual IList<ManyToOneModel> BagOne { get; private set; }

    public virtual IDictionary<char, ManyToManyModel> MapMany { get; private set; }
    public virtual ISet<ManyToManyModel> SetMany { get; private set; }
    public virtual IList<ManyToManyModel> ListMany { get; private set; }
    public virtual IList<ManyToManyModel> BagMany { get; private set; }
}
